package linuxbox.util;

import java.io.*;

import linuxbox.exception.*;

public interface IConfig {
    public Object getProperty(String aChannel, String aProperty);
    
    public String[] getChannels();
    public Object[] getProperties(String aChannel);
    public String[] getPropertyNames(String aChannel);
    
    public void createChannel(String aChannelName, String[] aChannelPaths)
            throws FileNotFoundException, FileFormatException, PropertyFormatException;
            
    public void refreshProperties() throws IOException;
    public void storeProperties() throws IOException;
    
    //public void logAllContentsToStream(PrintStream aStream);

    public void addChannel(String aChannel, String aPath);
    public void setProperty(String aChannel, String aProperty, String aValue);
    public void setProperty(String aChannel, String aProperty, String[] aValues);
}